// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package org.achartengine.chart; import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.achartengine.model.Point; import org.achartengine.model.SeriesSelection; // Referenced classes of package org.achartengine.chart: // PieSegment public class PieMapper implements Serializable { private List a; private int b; private int c; private int d; public PieMapper() { a = new ArrayList(); } public void addPieSegment(int i, float f, float f1, float f2) { a.add(new PieSegment(i, f, f1, f2)); } public boolean areAllSegmentPresent(int i) { return a.size() == i; } public void clearPieSegments() { a.clear(); } public double getAngle(Point point) { double d1 = point.getX() - (float)c; double d2 = Math.atan2(-(point.getY() - (float)d), d1); double d3; if (d2 < 0.0D) { d3 = Math.abs(d2); } else { d3 = 6.2831853071795862D - d2; } return Math.toDegrees(d3); } public SeriesSelection getSeriesAndPointForScreenCoordinate(Point point) { label0: { if (!isOnPieChart(point)) { break label0; } double d1 = getAngle(point); Iterator iterator = a.iterator(); PieSegment piesegment; do { if (!iterator.hasNext()) { break label0; } piesegment = (PieSegment)iterator.next(); } while (!piesegment.isInSegment(d1)); return new SeriesSelection(0, piesegment.getDataIndex(), piesegment.getValue(), piesegment.getValue()); } return null; } public boolean isOnPieChart(Point point) { return Math.pow((float)c - point.getX(), 2D) + Math.pow((float)d - point.getY(), 2D) <= (double)(b * b); } public void setDimensions(int i, int j, int k) { b = i; c = j; d = k; } }